home *** CD-ROM | disk | FTP | other *** search
/ This Disc Bytes! / Power Computing - The Disc 2 - This Disc Bytes.ISO / pc / codewarr / macossup / headers / ansihead / stdio.h < prev    next >
Text File  |  1995-08-02  |  4KB  |  136 lines

  1. /* stdio.h standard header */
  2. #ifndef _STDIO
  3. #define _STDIO
  4. #ifndef _YVALS
  5. #include <yvals.h>
  6. #endif
  7.  
  8. #if __MWERKS__
  9. #pragma options align=mac68k
  10. #pragma direct_destruction off
  11. #endif
  12.  
  13.         /* macros */
  14. #ifndef NULL
  15. #define NULL         _NULL
  16. #endif
  17. #define _IOFBF        0
  18. #define _IOLBF        1
  19. #define _IONBF        2
  20. #if !__MWERKS__
  21. #define BUFSIZ        512
  22. #else
  23. #define BUFSIZ        4096
  24. #endif
  25. #define EOF            (-1)
  26. #define FILENAME_MAX    _FNAMAX
  27. #define FOPEN_MAX        _FOPMAX
  28. #define L_tmpnam        _TNAMAX
  29. #define TMP_MAX            32
  30. #define SEEK_SET    0
  31. #define SEEK_CUR    1
  32. #define SEEK_END    2
  33. #define stdin        (&_Stdin)
  34. #define stdout        (&_Stdout)
  35. #define stderr        (&_Stderr)
  36.         /* type definitions */
  37. #ifndef _SIZET
  38. #define _SIZET
  39. typedef _Sizet size_t;
  40. #endif
  41. typedef _Fpost fpos_t;
  42. typedef struct _Filet {
  43.     unsigned short _Mode;
  44.     short _Handle;
  45.     unsigned char *_Buf, *_Bend, *_Next;
  46.     unsigned char *_Rend, *_Wend, *_Rback;
  47.     _Wchart *_WRback, _WBack[2];
  48.     unsigned char *_Rsave, *_WRend, *_WWend;
  49.     struct _Mbstatet _Wstate;
  50.     char *_Tmpnam;
  51.     unsigned char _Back[2], _Cbuf;
  52.     } FILE;
  53.         /* declarations */
  54. _C_LIB_DECL
  55. extern FILE _Stdin, _Stdout, _Stderr;
  56. void clearerr(FILE *); int fclose(FILE *); int feof(FILE *);
  57. int ferror(FILE *); int fflush(FILE *); int fgetc(FILE *);
  58. int fgetpos(FILE *, fpos_t *);
  59. char *fgets(char *, int, FILE *);
  60. FILE *fopen(const char *, const char *);
  61. int fprintf(FILE *, const char *, ...);
  62. int fputc(int, FILE *); int fputs(const char *, FILE *);
  63. size_t fread(void *, size_t, size_t, FILE *);
  64. FILE *freopen(const char *, const char *, FILE *);
  65. int fscanf(FILE *, const char *, ...);
  66. int fseek(FILE *, long, int);
  67. int fsetpos(FILE *, const fpos_t *); long ftell(FILE *);
  68. size_t fwrite(const void *, size_t, size_t, FILE *);
  69. char *gets(char *);
  70. void perror(const char *); int printf(const char *, ...);
  71. int puts(const char *); int remove(const char *);
  72. int rename(const char *, const char *);
  73. void rewind(FILE *); int scanf(const char *, ...);
  74. void setbuf(FILE *, char *);
  75. int setvbuf(FILE *, char *, int, size_t);
  76. int sprintf(char *, const char *, ...);
  77. int sscanf(const char *, const char *, ...);
  78. FILE *tmpfile(void); char *tmpnam(char *);
  79. int ungetc(int, FILE *);
  80. int vfprintf(FILE *, const char *, _Va_list);
  81. int vprintf(const char *, _Va_list);
  82. int vsprintf(char *, const char *, _Va_list);
  83. long _Fgpos(FILE *, fpos_t *);
  84. int _Flocale(FILE *, const char *, int);
  85. void _Fsetlocale(FILE *, int);
  86. int _Fspos(FILE *, const fpos_t *, long, int);
  87. int putc(int, FILE *); int putchar(int);
  88. extern FILE *_Files[FOPEN_MAX];
  89. _END_C_LIB_DECL
  90. #ifdef __cplusplus
  91.         /* inlines, for C++ */
  92. inline int getc(FILE *_Str)  {return ((_Str->_Next
  93.     < _Str->_Rend ? *_Str->_Next++ : fgetc(_Str))); }
  94. inline int getchar()  {return ((_Files[0]->_Next
  95.     < _Files[0]->_Rend ? *_Files[0]->_Next++ : fgetc(_Files[0]))); }
  96. /*
  97. inline int putc(int _C, FILE *_Str)  {return ((_Str->_Next
  98.     < _Str->_Wend ? (*_Str->_Next++ = _C) : fputc(_C, _Str))); }
  99. inline int putchar(int _C)  {return ((_Files[1]->_Next
  100.     < _Files[1]->_Wend ? (*_Files[1]->_Next++ = _C)
  101.         : fputc(_C, _Files[1]))); }
  102. */
  103. #else
  104.         /* declarations and macro overrides, for C */
  105. int getc(FILE *); int getchar(void);
  106. #define getc(str)    ((str)->_Next < (str)->_Rend \
  107.     ? *(str)->_Next++ : (fgetc)(str))
  108. #define getchar()    (_Files[0]->_Next < _Files[0]->_Rend \
  109.     ? *_Files[0]->_Next++ : (fgetc)(_Files[0]))
  110. /*
  111. #define putc(c, str)    ((str)->_Next < (str)->_Wend \
  112.     ? (*(str)->_Next++ = c) : (fputc)(c, str))
  113. #define putchar(c)    (_Files[1]->_Next < _Files[1]->_Wend \
  114.     ? (*_Files[1]->_Next++ = c) : (fputc)(c, _Files[1]))
  115. */
  116. #endif /* __cplusplus */
  117.  
  118. #if __MWERKS__
  119. #pragma options align=reset
  120. #pragma direct_destruction reset
  121. #endif
  122.  
  123. #endif /* _STDIO */
  124.  
  125. /*
  126.  * Copyright (c) 1994 by P.J. Plauger.  ALL RIGHTS RESERVED. 
  127.  * Consult your license regarding permissions and restrictions.
  128.  */
  129.  
  130. /* Change log:
  131.  *94June04 PlumHall baseline
  132.  *94Sept30 Applied diffs for Thu Aug 25 23:13:15 1994
  133.  *94Oct07 Inserted MW changes.
  134.  *94Oct12mm Set MWs BUFSIZ to 4096
  135.  */
  136.